<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');
class Captchamb {

    protected $code;
    protected $width = 50;
    protected $height = 200;
    var $ci;

    function __construct() {
        $this->ci = & get_instance();
//        $this->code = substr(sha1(mt_rand()), 17, 6);
    }
    
    function setCode($code){
        $this->code = $code;
    }

    function getCode() {
        return $this->code;
    }

    function showImage() {
        $image = imagecreatetruecolor($this->height, $this->width);
        $width = imagesx($image);
        $height = imagesy($image);

        $black = imagecolorallocate($image, 0, 0, 0);
        $white = imagecolorallocate($image, 255, 255, 255);
        $red = imagecolorallocatealpha($image, 255, 0, 0, 75);
        $green = imagecolorallocatealpha($image, 0, 255, 0, 75);
        $blue = imagecolorallocatealpha($image, 0, 0, 255, 75);

        imagefilledrectangle($image, 0, 0, $width, $height, $white);

        imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $white);
        imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $white);
        imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $white);

//        imagefilledrectangle($image, 0, 0, $width, 0, $black);
//        imagefilledrectangle($image, $width - 1, 0, $width - 1, $height - 1, $black);
//        imagefilledrectangle($image, 0, 0, 0, $height - 1, $black);
//        imagefilledrectangle($image, 0, $height - 1, $width, $height - 1, $black);
        $font = APPPATH . 'font/SIXTY.TTF';
//        imagestring($image, 10, intval(($width - (strlen($this->code) * 9)) / 2), intval(($height - 15) / 2), $this->code, $black);
        imagettftext($image, 34, 0, 10, 32, $black, $font, $this->code);
        header('Content-type: image/png');

        imagepng($image);
        $font = APPPATH . 'font/SIXTY.TTF';
//        imagestring($image, 10, intval(($width - (strlen($this->code) * 9)) / 2), intval(($height - 15) / 2), $this->code, $black);
        imagettftext($image, 34, 0, 50, 40, $black, $font, $this->code);
        header('Content-type: image/png');

        imagepng($image);

        imagedestroy($image);
    }

}

?>